package com.hexacta.hrs.repositories.staffing.impl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.hexacta.hrs.domain.staffing.Departamento;
import com.hexacta.hrs.repositories.staffing.DepartamentoRepository;

public class DepartamentoRepositoryHibernateTemplateImpl extends HibernateDaoSupport implements DepartamentoRepository {
	public void saveOrUpdate(Object o) {
        this.getHibernateTemplate().saveOrUpdate(o);
        return;
    }
    
    public void delete(Departamento departamento) {
        this.getHibernateTemplate().delete(departamento);
    }
    
    public Departamento findById(long id) {
    	Departamento departamento = (Departamento) this.getHibernateTemplate().get(Departamento.class, Long.valueOf(id));
    	return departamento;
    }
    
    @SuppressWarnings("unchecked")
    public List<Departamento> findByName(String name) {
    	List<Departamento> departamentos = this.getHibernateTemplate().find("from " + Departamento.class.getSimpleName() + " where name = '" + name + "'");
    	return departamentos;
    }
    
    @SuppressWarnings("unchecked")
	public List<Departamento> findAll() {
    	List<Departamento> departamentos = this.getHibernateTemplate().find("from " + Departamento.class.getSimpleName());
    	return departamentos;
    }
}
